<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Arm Musca-A1</title>
<title>CMSIS-Zone: Arm Musca-A1</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="printComponentTabs.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 46px;">
  <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">CMSIS-Zone
   &#160;<span id="projectnumber">Version 1.0.0</span>
   </div>
   <div id="projectbrief">System Resource Management</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<div id="CMSISnav" class="tabs1">
    <ul class="tablist">
      <script type="text/javascript">
		<!--
		writeComponentTabs.call(this);
		//-->
      </script>
	  </ul>
</div>
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('zTEMuscaA1.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="PageDoc"><div class="header">
  <div class="headertitle">
<div class="title">Arm Musca-A1 </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>This example shows how to do the <a class="el" href="UseCases.html#UseCase_TrustZone">TrustZone Partitioning</a>. It is split into a secure and non-secure part. Using CMSIS-Zone, it generates:</p><ul>
<li>A header file that contains #defines to control the various linker scatter files (and might be used in other parts of the application).</li>
<li>Memory protection controller (MPC) setup.</li>
<li>Peripheral protection controller (PPC) and related interrupt setup.</li>
<li>Secure attribution unit (SAU) setup.</li>
</ul>
<h1><a class="anchor" id="zTEMusca_Eclipse"></a>
Using the CMSIS-Zone project</h1>
<ul>
<li><a class="el" href="zTExamples.html#zTExImport">Import</a> the project "Examples\Musca-A1\Zone" into the CMSIS-Zone utility</li>
<li><a class="el" href="zTUI.html#zTProjEx">Open</a> the Musca-A1.azone file</li>
<li><a class="el" href="zTUIGenerate.html">Generate</a> the related output files</li>
</ul>
<p>The Musca-A1.azone file of that project has the following configuration settings:</p><ul>
<li><a class="el" href="zTUIZonePart.html#zTUICreate">Added the zones</a> <code>SecureFW</code> and <code>NonsecureFW</code> </li>
<li><a class="el" href="zTUIMemPerRes.html#zTUIMemAdd">Created the memory regions</a> <code>SecureRAM</code>, <code>NonsecureRAM</code>, <code>ScureCode</code>, <code>Veneer</code>, and <code>NonsecureCode</code> </li>
<li>Selected various memory regions and peripherals for using in the different zones.</li>
</ul>
<div class="image">
<img src="muscaA1_zones.png" alt=""/>
</div>
<p>The zones use different Flash and SRAM regions for code and data. Peripherals, such as the system and IO configuration, as well as UART0 are available in the secure world only. To generate the output, click on the <a class="el" href="zTUIGenerate.html">Generate</a> button in the Zone Editor tool bar. This creates the following files in the <code>ftl_gen</code> directory:</p>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadLeft">Template File </th><th class="markdownTableHeadLeft">Generated File </th><th class="markdownTableHeadLeft">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">dump_fzone.txt.ftl </td><td class="markdownTableBodyLeft">dump_fzone.txt </td><td class="markdownTableBodyLeft">Contains the complete model  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">helper.ftlinc </td><td class="markdownTableBodyLeft">N/A </td><td class="markdownTableBodyLeft">Helper template file with FTL functions.  </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">mem_layout.h.ftl </td><td class="markdownTableBodyLeft">mem_layout.h </td><td class="markdownTableBodyLeft">Header file that contains the memory region definitions, for example for the linker scatter file.  </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyLeft">tz_sau_nvic.c.ftl </td><td class="markdownTableBodyLeft">tz_sau_nvic.c </td><td class="markdownTableBodyLeft">Configuration of the secure attribution unit (SAU) and the NVIC interrupt assignment.  </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyLeft">tz_mpc_ppc.c.ftl </td><td class="markdownTableBodyLeft">tz_mpc_ppc.c </td><td class="markdownTableBodyLeft">Configuration of the memory (MPC) and peripheral (PPC) protection controller.  </td></tr>
</table>
<p>These files can be used in any IDE to create the final application. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="zoneToolUsage.html">CMSIS-Zone Utility</a></li><li class="navelem"><a class="el" href="zTExamples.html">Examples</a></li>
    <li class="footer">Generated on Tue Mar 17 2020 15:01:32 for CMSIS-Zone Version 1.0.0 by Arm Ltd. All rights reserved.
	<!--
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 
	-->
	</li>
  </ul>
</div>
</body>
</html>
